This portends of interesting things.
A couple days ago, my friend Courtenay was able to accurately utter the lovely clichéd phrase “you heard it here first” in a certain online community of which I am a part. Heard what here first?
This: Webkit’s getting off-line storage. And it’s accessible through SQL.
Say what?
It’s true. Apparently (or presumably) powered by SQLite.
I’m excited by this, perhaps inordinately so. It’s not as if the syncing problems are easy to solve, and this won’t solve it for you—but you know, offline storage. In Safari. Safari! I love you, Safari, you know that, right?*
It won’t be long until somebody wraps this is a super-friendly JavaScript interface that automatically works with your ActiveRecord models, probably managed for you somewhat automatically through Rails plugins. Can you imagine it? It’s going to rock.
It’ll rock a lot more than existing solutions, at least the ones I’ve seen. I recently attended a presentation on Google Gears at Future of Web Apps in London… and while the idea of offline storage is grand, Google Gears is not the solution. Its API is butt ugly, and it requires a browser plugin (and doesn’t support Safari). And it doesn’t solve the sync problem for you, of course. On the other hand, FireFox 3 is also getting offline storage, powered by SQLite. Hopefully its API isn’t too ugly. Perhaps the FF and Safari versions can be somewhat API compatible.
I am convinced of the usefulness of offline storage. Syncing is a tough thing to solve but the more portability we can get, the better.
We’re moving towards a future where our individual machines matter so much less and we’ll be able to take the important stuff with us (iPhones, thumb drives, .Mac and other syncing services, etc.). This will only be good for those of us who are techno-weary and tired of being glued to our computers.
The future is so shiny and bright!
* I use FireFox to develop, sure, but it’s not my favorite everyday browser. You are first in my heart, Safari. Always. Or at least until FireFox is way faster and more stable.
Agreed — this is some super cool stuff. Not like I’m all that much of a developer (more of a pixel jockey, as you may know), but I personally put more stock in the way the WebKit team is handling this over Google Gears if for no other reason than it’s <a href="http://www.whatwg.org/specs/web-apps/current-work/">part of the upcoming HTML 5 standard</a>.
http://joyent.com/developers/slingshot/
Did it first, before Google Gears or any of the other solutions. And it’s Ruby on Rails!
@Andrew, agreed. Yay STANDARDS.
@James, I think you misunderstand what Slingshot is. It’s not browser-side storage, it requires you to actually run the web application on your own computers. Your users have to download it and install it and run it whenever they want to use it, not just fire up their favorite current web browser and hit up your site. (And, beyond that, it’s not a particularly interesting implementation, but I digress.)
There was a speech about Google Gears at FOWA and I really like the idea. Hopefully the APIs are compatible, or a wrapper can be written to use the same API with both.
A demo of an ActiveResource-type Javascript framework was shown. They even suggested REST on the server for an easy way to interact with your data.
The new JSON support in Rails2 puts developers in a nice spot for using this kind of feature.
"We’re moving towards a future where our individual machines matter so much less and we’ll be able to take the important stuff with us (iPhones, thumb drives, .Mac and other syncing services, etc.). This will only be good for those of us who are techno-weary and tired of being glued to our computers."
I’m sorry, but didn’t we just came from that place? I thought we are creating web applications that are accessed online … I agree that storing data client-side is a feature, more than welcome, but the future, no that’s not how I see it.
@Matthijs,
We’re still creating web apps that are accessed online, from any device that can do it (e.g. iPhone). This creates a new pain point, though: what to do when net access isn’t available?
Offline storage to the rescue, because it:
That’s the beauty of sync.
You may not store things on your client every time you visit, but wouldn’t it be nice to access your, say, Basecamp todos on your iPhone even on the NYC subway where you have no coverage? And check some off while you read a client document… and when you get back up in the big blue room, you connect to Basecamp and those changes automatically sync. Voila!
I also prefer FireFox. For the time being it suits me
Hi Amy, just wanted to say hi and again, sorry for standing you all up at Duate’s on Sunday night. 😉
I am going to throw Camino into the ring. I use FF for development but Camino ftw.
Cheers, Kevin
Amy,
missed you at railsconf!
stop on by
http://giantrobots.thoughtbot.com/2007/11/13/the-contest
and try to win a free active record
book written by a couple of us
t-boters.
love the blog!